package animation.core;

import java.awt.*;
import java.awt.event.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 * Created by IntelliJ IDEA.
 * User: emilio
 * Date: Aug 12, 2004
 * Time: 11:49:34 AM
 * To change this template use File | Settings | File Templates.
 */
public interface AnimationController
        extends ChangeListener, ActionListener, ItemListener
{
    String RUN_COMMAND = "RUN";
    String STOP_COMMAND = "STOP";

    public enum AnimationCommand {RUN, STOP, STEP;
        public boolean isCommand(String cmd){
            return this.toString().equals(cmd);
        }
    }

    Dimension getDisplayAreaSize();

    void repaint();

    void end();

    void stateChanged(ChangeEvent e);

    void actionPerformed(ActionEvent e);

    void pause();

    public final static int MAX_SPEED = 20;

    void itemStateChanged(ItemEvent e);
}
